#include<stdio.h>	//biblioteca de entrada e saída padrão
#include<stdlib.h>  //biblioteca padrão do C

#define TAM	10

typedef enum{true, false}bool;

int fazTreco(int , int );			//assinatura/escopo da função
void trabalhandoComPonteiro(int var); 

int varGlobal = TAM;				

int main(int argc, char** argv){
	int i = 0;		//índice
	int vet1[TAM];
	int variavel;
	variavel = argc+1;
	printf("\n Usando o argumento da main.\n");
	printf("\n O valor de argc = %d", argc);
	printf("\n O valor de variavel = %d", variavel);
	
	printf("\n Imprimindo lixo de memoria: \n");
	for(i=0; i<TAM; i++){
		printf("\n vet1[%d] = %d", i, vet1[i]);
	}
	
	printf("\n Apos preencher o vetor \n\n");
	//preencher o vetor estático
	vet1[0] = -1;	//preenchendo a posição 0 manualmente
	printf("\n vet1[%d] = %d", 0, vet1[0]);
	//preenchendo o vetor da posição 1 em diante
	for (i=1; i<TAM; i++){
		vet1[i] = i;
		printf("\n vet1[%d] = %d", i, vet1[i]);
	}
	
	varGlobal = 3;
	printf("\n Imprimindo variável global dentro da main: %d", varGlobal);
	
	variavel = fazTreco(3,4);
	printf("\n O resultado da minha funcao eh: %d", variavel);

	trabalhandoComPonteiro(variavel);
	
	return 0;
}

int fazTreco(int x, int y){
	int resultado = x + y;
	int valor = 3334;
	resultado= resultado*valor; //resultado*=valor
	resultado-=valor+varGlobal;			//resultado = resultado - valor
	
	return resultado;
}

void trabalhandoComPonteiro(int var){
	int end;
	end = (int) (&var);
	printf("\n O endereco de variavel var eh %d", end);
	
	int* ptrVar;
	ptrVar = var;	//apontei para var
	printf("\n O valor da variavel var eh %d", ptrVar); //imprima o valor contido na posição apontada pelo ponteiro
}